package com.server.questionbank.snframe.domain.Course.Member;

public enum Permission {
    CAN_VIEW(0x00000001), // 查看
    CAN_EDIT(0x00000010); // 编辑
//    // 编辑作业
//    CAN_EDIT_HOMEWORK(0x00000010),
//    // 编辑基本信息
//    CAN_EDIT_BASIC_INFO(0x00000100), // 编辑基本信息(课程名称、封面、类型、标签、简介、介绍)
//    // 编辑课程章节
//    CAN_EDIT_CHAPTER(0x00001000), // 编辑课程章节(章节名称、章节内容(课时)、知识点、课时内容)
//    // 上传资料
//    CAN_UPLOAD_FILE(0x00010000),
//    // 成员管理
//    CAN_MEMBER_MANAGE(0x00100000),
//    // 题库管理
//    CAN_EXERCISES_MANAGE(0x01000000);
    private Integer value = 0;

    Permission(Integer value) {
        this.value = value;
    }

    public Integer getValue() {
        return value;
    }

    public static Permission fromPermission(Integer value) {
        for (Permission permission : Permission.values()) {
            if (permission.getValue() == value) {
                return permission;
            }
        }
        throw new IllegalArgumentException("无效权限值: " + value);
    }
}
